iT邦幫忙

2024 iThome 鐵人賽

DAY 10
2

Kube-API Server 負責處理所有與 Kubernetes 叢集相關的 API 請求。

a

Figure Source

Kube-API Server 的主要功能

  1. API 請求處理
    Kube-API Server 是 Kubernetes 的 API 入口點。所有的 Kubernetes 操作請求(如部署、服務、Pod 的創建與更新)都會經過 Kube-API Server。它負責處理這些請求,並與其他 Kubernetes 元件進行溝通,以確保請求被正確執行。

  2. 資源儲存
    Kube-API Server 負責將 Kubernetes 叢集中的資源(如 Pod、Service、ConfigMap 等)儲存在 Etcd 資料庫中。Etcd 是一個高可用的分佈式鍵值儲存系統,Kube-API Server 將所有狀態和配置數據保存於此。

  3. 認證與授權
    在處理 API 請求時,Kube-API Server 需要確保請求者的身份和權限。它會對請求進行認證和授權,確保只有經過授權的使用者和應用程式才能執行相應的操作。

  4. 資源版本控制
    Kube-API Server 支援資源的版本控制,以確保在多個請求和操作之間保持一致性。它管理資源的版本,以便在狀態變更時可以正確地處理並保持叢集的一致性。

Kube-API Server 的運作原理

Kube-API Server 是 Kubernetes 架構中的中央管理點。當使用者或應用程式發送 API 請求時,Kube-API Server 會接收到這些請求並進行處理。

以下是其基本運作流程:

  1. 請求處理
    Kube-API Server 接收到來自使用者、Kubectl、或其他 Kubernetes 元件的請求後,會解析請求並進行驗證。根據請求的內容,它會調用相應的處理邏輯。

  2. 狀態更新
    在處理請求後,Kube-API Server 會將變更寫入 Etcd 中。這些變更可能是資源的新增、更新或刪除。

  3. 通知與調度
    Kube-API Server 會通知 Kubernetes 的其他元件,如 Scheduler 和 Controller Manager,關於資源的變更。這些元件會根據最新的狀態進行調度和管理操作。

  4. 監控與查詢
    Kube-API Server 提供了查詢接口,允許使用者和應用程式檢索 Kubernetes 叢集的狀態。它支援豐富的查詢功能,使得管理和監控 Kubernetes 資源變得更加方便。

Kube-API Server 的高可用性

為了確保 Kubernetes 叢集的穩定性和高可用性,Kube-API Server 通常會以多個副本部署在叢集中。這樣可以防止單點故障,保證在某個 Kube-API Server 實例失效時,其他實例仍能繼續處理請求。

Reference


上一篇
[Day 9] Kubernetes Networking
下一篇
[Day 11] Kube-Scheduler
系列文
關於新手會想知道Kubernetes的幾件事情30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言